/**
 * 部门管理 权限表和范围表
 * @des:并初始化权限和范围表以及表的一些相关操作
 * @author:miaohuaiyu
 * Created by mhy on 2017/3/6.
 */
$(document).ready(function() {

    /*获得权限列表*/
    /* Ajax:
     * 功能:查看所有权限
     * */
    $.ajax({
        type: 'GET',//请求类型
        url: '../department/manage/power/all',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        dataType: 'JSON', /*预期服务器返回的数据类型*/
        success: function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            var $powerTable = $("table", ".bs-example-modal-ap");
            var powers = json.data.powers;
            var $trObj;
            var $tdObj;

            for (var i = 0; i < count(powers); i++) {
                $trObj = $("<tr></tr>");

                //选择列
                $tdObj = $("<td></td>");
                $tdObj.append("<input type='checkbox' class='flat' name='table_records'>");
                $trObj.append($tdObj);

                //ID列
                $tdObj = $("<td></td>");
                $tdObj.text(powers[i].id);
                $trObj.append($tdObj);

                //名称列
                $tdObj = $("<td></td>");
                $tdObj.text(powers[i].name);
                $trObj.append($tdObj);

                //类型列
                $tdObj = $("<td></td>");
                $tdObj.text(powers[i].type);
                $trObj.append($tdObj);

                $powerTable.append($trObj);  //添加行
            }// ~ end for
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
        },
        fail: function () { //如果在传输过程失败了：调用fail中对应的匿名函数(可选)
        },
        cache: true,
    });

    /*获得角色列表*/
    /* Ajax:
     * 功能:查看所有角色
     * */
    if( $("#roleList") != null) {
        $.ajax({
            type: 'GET',//请求类型
            url: '../department/manage/role/all',//请求地址
            contentType: 'application/json;',//发送信息至服务器时内容编码类型
            dataType: 'JSON', /*预期服务器返回的数据类型*/
            success: function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
                var roles = json.data.roles;
                var roleList = $("#roleList");  //角色列表
                var $optionObj;
                var id;

                if(count(roles) == 0){
                    createPNotify("提示","error","建议先添加角色");
                    return;
                }
                for (var i = 0; i < count(roles); i++) {
                    id = roles[i].id;

                    $optionObj = $("<option></option>");
                    $optionObj.append(roles[i].name);
                    $optionObj.val(id);

                    roleList.append($optionObj);

                }  //end for
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
            },
            fail: function () { //如果在传输过程失败了：调用fail中对应的匿名函数(可选)
            },
            cache: true,
        });
    }
});

/* 函数:添加权限
 *  @param:powerArr 权限数组
 *  @param:$powerTable 权限表
 *  @param:$powerModal 添加权限时的弹出框
 * */
function addPower(powerArr,$powerTable,$powerModal){
    var $checkboxes =  $("input[type='checkbox']",$powerModal);
    var $trObj;
    var id;
    var $aObj;
    var $newTrObj;   //新的tr节点
    var $newTdObj;   //新的td节点

    for(var i = 0;i < $checkboxes.length;i++){
        $newTrObj = $("<tr></tr>");

        if($checkboxes.eq(i).prop("checked")){

            $trObj =  $checkboxes.eq(i).parents("tr");
            id = $checkboxes.eq(i).parents("tr").children("td").eq(1).text();

            $checkboxes.eq(i).attr("disabled","disabled");

            for(var n = 0;n < powerArr.length;n++){
                if(powerArr[n] == id)
                    break;
            }
            if(n == powerArr.length){
                powerArr.push(id);
            }else{
                continue;
            }
            $newTdObj = $("td",$trObj).eq(1).clone();    //ID
            $newTrObj.append($newTdObj);

            $newTdObj = $("td",$trObj).eq(2).clone();    //权限名称
            $newTrObj.append($newTdObj);

            $newTdObj = $("td",$trObj).eq(3).clone();     //权限类型
            $newTrObj.append($newTdObj);

            $newTdObj = $("<td></td>");
            $aObj = $("<a href='#' class='btn btn-danger btn-xs' ><i class='fa fa-trash-o'></i> 删除 </a>");
            $aObj.attr("onclick","deletePower("+ id +")");
            $newTdObj.append($aObj);
            $newTrObj.append($newTdObj);

            $("tbody",$powerTable).append($newTrObj);   //将新的tr节点加入到权限表中
        }
    };
    $('.btn-default',$powerModal).trigger("click");  //点击确定后关闭窗口
}   //end addPower
